#ifndef _DE_SHADER_REFLECTION_H_
#define _DE_SHADER_REFLECTION_H_
#include "PCH.h"
namespace DeviousRenderer
{
class DeShaderReflection
{
public:
	DeShaderReflection();
	virtual ~DeShaderReflection();
	void		SetShaderDescription(D3D11_SHADER_DESC desc)
	{
		m_ShaderDesc = desc;
	}

	void		AddInputParameters(D3D11_SIGNATURE_PARAMETER_DESC desc)
	{
		m_vInputParameters.push_back(desc);
	}

	void		AddOutputParameters(D3D11_SIGNATURE_PARAMETER_DESC desc)
	{
		m_vOutputParameters.push_back(desc);
	}

protected:

	D3D11_SHADER_DESC										m_ShaderDesc;
	std::vector<D3D11_SIGNATURE_PARAMETER_DESC>				m_vInputParameters;
	std::vector<D3D11_SIGNATURE_PARAMETER_DESC>				m_vOutputParameters;
	
};

}
#endif//_DE_SHADER_REFLECTION_H_